一种混和分布式重叠网络装置及其服务注册方法,本发明包括:互联网、服务请求者、服务提供者、物理网络层、基于泛洪的对等网查询技术以支持模糊查询的友元组网络层、采取基于分布式散列表的对等网络查询技术的定位网络;物理网络层中的服务提供者向友元组网络层中的友元组注册其服务,友元组向定位网络层中友元组长注册,友元组长在定位网络层中的服务解析器注册,服务解析器项服务请求者提供服务提供者信息以建立服务请求者与服务提供者间的联系。本发明利用构建的定位网络层和友元组网络层将基于完全随机的洪泛发现和随机转发机制、基于关键字注册与查询的方法有机结合,提升分布式网络质量,为上层服务提供了极为有利的支持。
1.一种混和分布式重叠网络装置,包括:包含局域网和广域网的互联网络、要求服务和使用服务的服务请求者、服务提供者,其特征在于,在互联网络中构建的三层逻辑网络:以地域为基础的物理网络层、基于泛洪的对等网络查询技术以支持模糊查询的友元组网络层、采取基于分布式散列表的对等网络查询技术的定位网络层;友元组为物理网络层中的服务提供者按照自身提供的服务类型进行分类,提供相同或相似的服务提供者组成的一个组,友元组组长为每一个友元组中选举出的节点,选举友元组组长的步骤有:在友元组建立阶段,第一个提出新服务的节点成为友元组组长,在友元组建立后,友元组组长宣布自己的组长状态,等待节点的加入,计算友元组内平均性能,构造调度表,并将信息发送友元组内的每个节点,一般节点根据自身提供的服务信息,选择要加入的友元组,然后将自身信息发送给友元组组长,以便于友元组组长计算友元组内的平均性能,构造调度表,设定生命周期,当一个生命周期到期后,节点将根据自身性能以及友元组内平均性能和友元组组长的调度信息,重新选择友元组组长,以达到友元组组长由性能最优的节点来担任的目的;定位网络层由每个友元组选举的友元组组长组成,采用基于分布式散列表的对等网络查询技术来定位各种服务类型;所述的物理网络层中的服务提供者向友元组网络层中的友元组注册其服务,友元组向定位网络层中的友元组组长注册,友元组组长在定位网络层中的服务解析器注册,服务解析器向服务请求者提供服务提供者信息以建立服务请求者与服务提供者间的联系。
2.一种混和分布式重叠网络的服务注册方法,包括:服务提供者、友元组组长和服务解析器,其特征在于友元组为物理网络层中的服务提供者按照自身提供的服务类型进行分类,提供相同或相似的服务提供者组成的一个组,友元组组长为每一个友元组选举出的节点,选举友元组组长的步骤有:在友元组建立阶段,第一个提出新服务的节点成为友元组组长,在友元组建立后,友元组组长宣布自己的组长状态,等待节点的加入,计算友元组内平均性能,构造调度表,并将信息发送友元组内的每个节点,一般节点根据自身提供的服务信息,选择要加入的友元组,然后将自身信息发送给友元组组长,以便于友元组组长计算友元组内的平均性能,构造调度表,设定生命周期,当一个生命周期到期后,节点将根据自身性能以及友元组内平均性能和友元组组长的调度信息,重新选择友元组组长,以达到友元组组长由性能最优的节点来担任的目的;定位网络层由每个友元组选举的友元组组长组成,采用基于分布式散列表的对等网络查询技术来定位各种服务类型;在互联网络中的三个逻辑网络层:以地域为基础的物理网络层、基于泛洪的对等网络查询技术以支持模糊查询的友元组网络层、采取基于分布式散列表的对等网络查询技术的定位网络层,注册步骤如下:物理网络层中的服务提供者以自己提供的服务向定位网络层中的服务解析器请求注册;服务解析器首先询问该请求注册的服务提供者是否为友元组组长,如果“是”则在定位网络层中注册服务,如果“否”则进入下一步;服务解析器对服务进行解析,检测该服务是否存在于定位网络层中,如果“否”则选举该服务提供者为友元组组长加入定位网络层中并在定位网络层中注册服务,如果“是”则进入下一步;在定位网络层中定位服务,找到与该服务相同的友元组组长;进入友元组网络层,加入到友元组组长所在的友元组中。
技术领域本发明涉及一种混和分布式重叠网络装置及其服务注册方法,是一种基于网络的电数字处理方法,是一种基于分布式散列表的对等网络查询技术和泛洪的对等网查询技术的方法。xa0
背景技术传统的C/S(Client/Server,客户机/服务器)模式下的互联网存在这诸多缺点,不能满足现代生活对网络的要求。主要体现在以下几个方面:首先,传统C/S模式下,随着节点的不断增加,服务器的负载就越来越重,很容易形成系统的瓶颈;其次,C/S模式下的互联网完全依赖于中心点,即服务器,如果没有服务器,网络就失去了意义,即存在单点故障问题;最后,在C/S模式下,这些众多的客户端闲置资源则无法得到利用。xa0以上缺点促使新一种网络模式的诞生——分布式网络,即使用P2P技术(peer-to-peer对等技术)的网络。相对于C/S模式,它有着得天独厚的优势。xa0具体体现在以下几个方面:xa01、每一个对等点具有对等的地位。既可以请求服务也可以提供服务,同时扮演着C/S模式中的服务器和客户端两个角色,还可以具有路由器和高速缓冲存储器的功能。从而弱化了服务器的功能,甚至取消了服务器。xa02、节点加入更方便。在分布式的计算环境中从大型机到移动电话,甚至是传呼机均可以在任何地点方便地加入进来。分布式技术不仅可以应用于目前有线的互联网络,同时该技术还可应用于无线计算技术。xa03、在分布式模式下,每一个对等体可以充分利用网络上其他对等体的各种xa0信息资源和软硬件资源。xa04、与C/S用URL来表示信息资源的地址不同,分布式是基于内容的寻址方式。这里的内容不仅包括信息的内容,还包括空闲机时、存储空间等。分布式网络中,用户直接输入要索取的信息的内容而不是信息的地址,分布式软件将会把用户的请求翻译成包含此信息的节点的实际地址,而这个地址对用户来说是透明的。xa0分布式网络给互联网的分布、共享精神带来了无限的遐想,有观点认为至少有100种应用能被开发出来,但从目前的应用来看,P2P的威力还主要体现在大范围的共享、搜索的优势上。在这方面主要引发了,或者是说更好的解决网络上四大类型的应用:对等计算、协同工作、搜索引擎、文件交换。xa0对等计算:xa0通过众多计算机来完成超级计算机的功能,一直是科学家梦寐以求的事情。采用P2P技术的对等计算,正是把网络中的众多计算机暂时不用的计算能力连结起来,使用积累的能力执行超级计算机的任务。任何需要大量数据处理的行业都可从对等计算中获利,如天气预报、动画制作、基因组的研究等,有了对等计算之后,就不再需要昂贵的超级计算机了。在硅谷现在有许多公司正在投入对等计算的开发,如Popularxa0Power,Centrata,Unitedxa0Devices,Entropia等,并获得了巨大的风险资金。Intel也利用对等计算技术来设计其CPU,并为其节省极大的费用,同时对等计算的发展是以PC机资源的有效利用为根本出发点的,自然也极力受到Intel的极力推崇。从本质而言,对等计算就是网络上CPU资源的共享。xa0协同工作:xa0公司机构的日益分散,给员工和客户提供轻松、方便的消息和协作的工具,变得日益重要。网络的出现,使协同工作成为可能。但传统的WEB方式实现,给服务器带来了极大的负担,造成了昂贵的成本支出。P2P技术的出现,使得互联网上任意两台PC都可建立实时的联系,建立了这样一个安全、共享的虚拟空间,人们可以进行各种各样的活动,这些活动可以是同时进行,也可以交互进行。P2P技术可以帮助企业和关键客户,以及合作伙伴之间建立起一种安全的网上工作联系方式,因此基于P2P技术的协同工作也受到了极大的重视。xa0搜索引擎:xa0分布式技术的另一个优势是开发出强大的搜索工具。分布式技术使用户能够深度搜索文档,而且这种搜索无需通过Web服务器,也可以不受信息文档格式和宿主设备的限制,可达到传统目录式搜索引擎(只能搜索到20%-30%的网络资源)无可比拟的深度(理论上将包括网络上的所有开放的信息资源)。可以说,分布式网络为互联网的信息搜索提供了全新的解决之道。著名的搜索引擎公司Google也宣称要采用P2P技术来改进其搜索引擎,一家名为infrasearch的新建公司也因为开发P2P技术的搜索引擎而获得了一笔巨额风险投资。xa0文件交换:xa0可以说文件交换的需求直接引发了P2P技术热潮。在传统的WEB方式中,要实现文件交换需要服务器的大力参与,通过将文件上传到某个特定的网站,用户再到某个网站搜索需要的文件,然后下载,这种方式的不便之处不言而喻。电子邮件是方便了个人间文件传递问题,却没法解决大范围的交换。这也是WEB的重要缺陷。xa0文件交换的需求也很轻松地延伸到了信息的交换,在线拍卖也被赋予了新xa0的形式,大家也不必要到拍卖网站登记要卖的商品了,在自家的硬盘上建个商店就可以了。由此又可以延伸到,一切中介网站都会被替代。xa0当然以上四类型应用决不是分布式网络仅有的应用,被认为至少还有100种应用等着去开发。xa0现在较流行的分布式网络系统方案有两个。xa0方案一:xa0Gnutella属于全分布式非结构化网络,它是纯粹的分布式系统,没有索引服务器,它采用了基于完全随机图的洪泛发现和随机转发机制。为了控制搜索消息的传输,通过TTL的减值来实现。xa0这个协议的缺点是由于没有确定拓扑结构的支持,非结构化网络无法保证资源发现的效率,即使需要查找的目的结点存在发现也有可能失败。由于采用TTL、洪泛、随机漫步或有选择转发算法,因此直径不可控,可扩展性较差。xa0方案二:xa0Chord属于全分布式结构化的P2P网络,它也是纯粹的P2P网络系统,没有中央服务器。它基于关键字注册与查询,所谓的关键字就是服务经过hash后得到的服务ID,它将每个加入的结点经过hash映射到一个环上,形成一个环状网络,而后服务ID映射存储到一个节点上,需要服务的节点经过hash服务名称,得到服务ID,连接服务ID的存储节点,从而找到提供该服务的节点的ip地址和端口号,双方建立链接,开始一个会话。xa0Chord结构最大的问题是Chord的维护机制较为复杂,尤其是结点频繁加入退出造成的网络波动(Churn)会极大增加Chord的维护代价。Chord所面临的另外一个问题是Chord仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询。xa0比较Gnutella和Chord两种方案中各自存在着一些不可处理的缺点,只有克服这些缺点,才能使分布网络得到运用。xa0
发明内容仔细比较一下上述两种网络的特点可以看到,它们的优点和缺点相互补充。据此本发明提出一种混和分布式重叠网络装置及其服务注册方法,将两者的优点结合到一起,运用基于分布式散列表的对等网络查询技术和泛洪的对等网查询技术相结合的方法,构建一个相对完善的分布式网络。本发明在现有的网络基础上抽象出两层逻辑网络,构成三层网络结构,依次为物理网络层、定位网络层、友元组网络层。物理网络层还是以地域分布为基础;友元组网络层采取基于泛洪的对等网查询技术以支持模糊查询,提高网络鲁棒性(Robust系统的健壮、强壮);定位网络层采取基于分布式散列表的对等网络查询技术以提高资源查询效率,并提高网络的可扩展性和可维护性。xa0本发明的目的是这样实现的:xa0一种混和分布式重叠网络装置,包括:包含局域网和广域网的互联网络、要求服务和使用服务的服务请求者、服务提供者,在互联网络中构建的三层逻辑网络:以地域为基础的物理网络层、基于泛洪的对等网络查询技术以支持模糊查询的友元组网络层、采取基于分布式散列表的对等网络查询技术的定位网络层;友元组为物理网络层中的服务提供者按照自身提供的服务类型进行分类,提供相同或相似的服务提供者组成的一个组,xa0友元组组长为每一个友元组中选举出的节点,选举友元组组长的步骤有:xa0定位网络层由每个友元组选举出的友元组组长组成,采用基于分布式散列表的对等网络查询技术来定位各种服务类型;xa0在友元组建立阶段,第一个提出新服务的节点成为友元组组长,在友元组建立后,友元组组长宣布自己的组长状态,等待节点的加入,计算友元组内平均性能,构造调度表,并将信息发送友元组内的每个节点,一般节点根据自身提供的服务信息,选择要加入的友元组,然后将自身信息发送给友元组组长,以便于友元组组长计算友元组内的平均性能,构造调度表,设定生命周期,当一个生命周期到期后,节点将根据自身性能以及友元组内平均性能和友元组组长的调度信息,重新选择友元组组长,以达到友元组组长由性能最优的节点来担任的目的;xa0定位网络层由每个友元组选举的友元组组长组成,所述的物理网络层中的xa0服务提供者向友元组网络层中的友元组注册其服务,友元组向定位网络层中的友元组组长注册,友元组组长在定位网络层中的服务解析器注册,服务解析器向服务请求者提供服务提供者信息以建立服务请求者与服务提供者间的联系。xa0一种混和分布式重叠网络的服务注册方法,包括:服务提供者、友元组组长和服务解析器,友元组为物理网络层中的服务提供者按照自身提供的服务类型进行分类,提供相同或相似的服务提供者组成的一个组,友元组组长为每一个友元组选举出的节点,xa0选举友元组组长的步骤有:xa0定位网络层由每个友元组选举出的友元组组长组成,采用基于分布式散列表的对等网络查询技术来定位各种服务类型;xa0在友元组建立阶段,第一个提出新服务的节点成为友元组组长,在友元组建立后,友元组组长宣布自己的组长状态,等待节点的加入,计算友元组内平均性能,构造调度表,并将信息发送友元组内的每个节点,一般节点根据自身提供的服务信息,选择要加入的友元组,然后将自身信息发送给友元组组长,以便于友元组组长计算友元组内的平均性能,构造调度表,设定生命周期,当一个生命周期到期后,节点将根据自身性能以及友元组内平均性能和友元组组长的调度信息,重新选择友元组组长,以达到友元组组长由性能最优的节点来担任的目的;xa0定位网络层由每个友元组选举的友元组组长组成,在互联网络中的三个逻辑网络层:以地域为基础的物理网络层、基于泛洪的对等网络查询技术以支持模糊查询的友元组网络层、采取基于分布式散列表的对等网络查询技术的定位网络层,步骤如下:xa0物理网络层中的服务提供者以自己提供的服务向定位网络层中的服务解析器请求注册;xa0服务解析器首先询问该请求注册的服务提供者是否为友元组组长,如果“是”则在定位网络层中注册服务,如果“否”则进入下一步;xa0服务解析器对服务进行解析,检测该服务是否存在于定位网络层中,如果“否”则选举该服务提供者为友元组组长加入定位网络层中并在定位网络层中注册服务,如果“是”则进入下一步;在定位网络层中定位服务,找到与该服务相同的友元组组长;进入友元组网络层,加入到友元组组长所在的友元组中。xa0一种混和分布式重叠网络的查找方法,包括:要求服务和使用服务的服务请求者、服务提供者、友元组长、服务解析器,在互联网络中的三个逻辑网络xa0层:以地域为基础的物理网络层、基于泛洪的对等网查询技术以支持模糊查询的友元组网络层、采取基于分布式散列表的对等网络查询技术的定位网络,其步骤是:xa0服务请求者提出服务请求,发送到服务解析器;xa0服务解析器将被请求的服务归类到定位网络层所能识别的服务类型;xa0在定位网络层中根据定位网络查找算法定位到负责此类服务的友元组长,从而定位到了提供此类服务的友元组;xa0友元组内节点采用友元组网络查找算法,查找相应服务;xa0找到了合适的服务提供者;xa0服务提供者和服务请求者之间建立连接,提供服务。xa0本发明产生的有益效果是:本发明提供的三层逻辑网络层的分布式网络给向分布式网络的实现应用跨出了重要的一步,使互联网的分布、共享精神带来了无限的遐想,更好的解决网络上四大类型的应用:对等计算、协同工作、搜索引擎、文件交换。本发明利用构建的定位网络层和友元组网络层将基于完全随机的洪泛发现和随机转发机制、基于关键字注册与查询的方法有机结合,有效改善了原有分布式系统的一些缺点,如非结构化系统中的可扩展性低,服务发现效率低等;结构化系统中的只支持精确查询等,从而更好地支持上层服务的注册与查找。使得分布式网络质量有了较高的提升,为上层服务的更好地开展提供了极为有利的支持。xa0
附图说明下面结合附图和实施例对本发明作进一步说明。xa0图1为一种混和分布式重叠网络装置的总体架构示意图;xa0图2为实施例一中Chord节点标识自组织环示意图;xa0图3为实施例一中Chord算法中finger表的形成示意图;xa0图4为实施例一中Chord算法实现过程示意图;xa0图5为实施例一中Gnutella算法实现过程示意图;xa0图6为实施例一中友元组长选举过程示意图;xa0图7为实施例一中服务描述树示意图;xa0图8为实施例一中服务分解为“带”示意图;xa0图9为实施例二中服务发布注册流程示意图;xa0图10为实施例三中服务查找过程示意图;xa0图11为实施二、三的实际举例中已有服务“网上英语学习”注册过程示意图;xa0图12为实施二、三的实际举例中服务查询过程示意图。xa0
具体实施方式实施例一:xa0本实施例为本发明混和分布式重叠网络装置的总体架构,如图1所示。本实施例所使用的基本硬件系统为包含局域网和广域网的互联网,即在现有互联网的基础之上无需硬件上的变化即可实现分布式网络。要求服务和使用服务的服务请求者、服务提供者,这两者就是现在互联网络上的用户。本发明的关键在于在互网络中构建的三层逻辑网络,从下到上依次为物理网络层、友元组网络层、定位网络层。xa0物理网络层以地域为基础,和现有网络基本相同。物理网络层为现在的按照地理位置进行划分的实际的Internet网络拓扑。友元组网络层是基于泛洪的对等网查询技术以支持模糊查询,以提高网络的鲁棒性。友元组网络层是物理网络中的服务提供者按照自身提供的服务类型进行分类,提供相同或者相似服务的服务提供者组成一个友元组,由基于泛洪的对等网查询技术来实现各种服务的注册与查找。定位网络采取基于分布式散列表的对等网络查询技术,以提高网络的可扩展性和可维护性。定位网络层由每个友元组选举出的友元组长组成,采用基于分布式散列表的对等网络查询技术来定位各种服务类型。物理网络层为实际的网络结构,友元组网络层和定位网络层是在物理网络层之上虚拟的两层重叠网络,来更好的实现服务的定位。xa0整个服务网络中的实体分为五个部分:服务请求者、服务解析服务器、服务提供者、友元组成员和友元组长。服务解析服务器负责服务的解析,将服务请求者提出的服务请求转化为定位网络所能识别的服务类型。提供相同或者相xa0似服务的服务提供者组成一个友元组,所有的友元组组成友元组网络。每一个友元组,选举出一个功能强、容量大、带宽高的节点作为友元组长,加入到定位网络。xa0当进行服务注册时,服务提供者根据自己提供的服务,经过服务解析器的解析,解析归类到定位网络可以支持的服务类型,再通过定位网络进行定位,定位到相应的定位网络中的友元组长,也就定位到了相应的友元组,并加入到相应的友元组,和本组内的其他服务提供者共同维护本友元组。如果服务提供者要发布的服务是一种在定位网络中未曾有过的服务,那么它将作为友元组长加入到定位网络,实现一种新的服务的加入。xa0当用户定位服务时,服务请求者提出服务请求,发送到服务解析器,服务解析器将服务归类到定位网络所能识别的服务类型。然后,在定位网络中根据定位网络查找算法定位到负责此类服务的友元组长,从而定位到了提供此类服务的友元组。友元组内节点采用友元组网络查找算法,查找服务。当查找到合适的服务时,也就是找到了合适的服务提供者之后,服务提供者和服务请求者之间建立连接,提供服务。或者解释为:物理网络层中的服务提供者向友元组网络层中的友元组电连接注册其服务,友元组向定位网络层中的友元组长电连接注册其服务,友元组长在定位网络层中的服务解析器电连接注册,服务解析器项服务请求者提供服务提供者信息以建立服务请求者与服务提供者间的联系。xa0以下为本实施例所涉及的一些相关算法:xa0(1)定位网络查找算法xa0在本专利中我们采用chord算法作为我们的定位网络层查找算法。xa0chord算法中,将节点的位置信息,比如说节点的IP地址,和资源的信息,比如说节点维护的服务类型e_learning,分别进行哈希,根据得到的哈希值的对应关系进行定位。xa0如图2所示,节点基于节点标识(节点IP地址的哈希值)自组织为节点标识环,资源信息(服务类型的哈希值)由节点标识环中其后继节点来维护,哈希函数确保每一个服务类型信息有至少一个节点来维护。xa0当进行服务类型信息定位时,查询请求从一个节点发起,如果此节点恰好维护了此服务类型信息,那么它就将相应的信息返回,如果此节点没有维护相应的信息,那么它将指出查询信息应该发往那个节点,这是由其维护的fingertable表来实现的,如图3所示。xa0下面举例进行说明:假设对等网络中的节点情况如图4所示,要查找的服务类型为e_learning,经过哈希之后,服务类型的哈希值为54,查询请求从节点8(此节点的IP经过哈希运算之后为8)发起。xa0首先,节点8判断,哈希值是54的服务类型是否由自己来维护,如果是,将相应的信息返回,完成查询,若果不是,节点8将根据自己维护的fingertable,将查询信息发送到更可能维护服务类型信息的节点,在此处,查询信息被发送到节点42。同样的,节点42和节点51也完成相同的工作,最后查询信息被发送到节点56,节点56恰好维护哈希值是54的服务类型的相应信息,于是它将相应的信息返回给查询者,完成定位过程。xa0结构化查找算法大大提高了查询效率,对于节点ID空间为N的网络,每个节点在fingerxa0table中维护的finger条目为0(1ogN)条,每次查询经过0(1ogN)步即可完成。xa0(2)友元组网络查找算法xa0在友元组内的查找,将采用Gnutella。在网络中,每个节点都不知道其他节点的资源。当它要寻找某个文件,把这个查询信息传递给它的相邻节点,如果相邻节点含有这个资源,就返回一个QueryHit的信息给Requester。如果它相邻的节点都没有命中这个被查询文件,就把这条消息转发给自己的相邻节点。这种方式像洪水在网络中各个节点流动一样,所以叫做Flooding搜索。由于这种搜索策略是首先遍历自己的邻接点,然后再向下传播。如图5所示:搜索的节点一开始TTL=2,它每传播一次TTL减1,如果TTL减到0还没有搜索到资源,则停止。如果搜索到资源则返回目标机器的信息以用来建立连接。在搜索过程中可能出现循环,但是由于有TTL控制,所以这个循环不会永远进行下去,当TTL=0的时候自然结束。xa0(3)友元组长选举算法xa0为了避免低能量级的节点被选为友元组长,本项目将引入性能自适应的友元组长选择机制,通过考虑节点的性能来优化友元组长的选择。它要求每个节点都要提供自身的性能情况,如图8所示。xa0在友元组建立阶段,第一个提出新服务的节点成为友元组长。在友元组建立后,友元组长宣布自己的组长状态,等待节点的加入,计算友元组内平均性能,构造调度表,并将信息发送友元组内的每个节点,一般节点根据自身提供的服务信息,选择要加入的友元组长,然后将自身信息发送给友元组长,以便于友元组长计算友元组内的平均性能,构造调度表。设定生命周期,当一个生命周期到期后,节点将根据自身性能以及友元组内平均性能和友元组长的调度信息,重新选择友元组长,以达到友元组长由性能最优的节点来担任。xa0(4)服务描述算法xa0服务注册过程实际上就是将相同服务划分为一类,再将此类映射到节点上,在本专利中使用树形结构来描述服务类型,如图7所示。例如有四种服务,分别是:网上英语学习服务,网上网络知识学习服务,网上听力练习服务,网上英语阅读练习服务。这些服务可以抽象为一类服务,即网上电子学习服务。这样剩余的问题就是将这棵树映射到节点上。本实施例所使用的方法是“分带”的思想,即将此树分为5条“带”,如图8所示。首先在定位网络层注册网上电子学习服务,然后在友元组网络层分别注册每一条“带”,即网上英语学习服务,网上网络知识学习服务,网上听力练习服务,网上英语阅读练习服务。xa0本实施例的具体运行过程包括下述步骤:xa01、初始化各个实体模块;xa02、服务注册过程;xa03、服务查询过程;xa0上述步骤详细描述如下:xa0步骤一初始化各个实体模块:xa01.1xa0xa0服务解析器初始化:xa01.1.1服务解析器应用本体库知识将服务构成树状结构;xa01.1.2将1.1.1中的服务树进行分“带”处理,形成带状服务带。xa01.2xa0xa0定位网络初始化:xa0定位网络用到上面介绍的chord技术。xa01.2.1设置该chord有2
n个虚拟节点,其中有m个节点为网络中实际存在的节点;xa01.2.2初始化实际节点的finger表。构建如下:xa01.3友元组网络初始化xa01.3.1在友元组建立阶段,第一个提出新服务的节点成为友元组组长。在友元组建立后,友元组长宣布自己的组长状态,等待节点的加入;xa01.3.2组长负责计算友元组内平均性能(带宽、在线时间等),构造调度表,并将信息发送友元组内的每个节点;xa01.3.3一般节点根据自身提供的服务信息,选择要加入的友元组长,然后将自身信息发送给友元组长,以便于友元组长计算友元组内的平均性能,构造调度表。xa0以上三步没有先后顺序,但在服务注册前必须完成。xa0步骤二服务注册过程:xa0服务注册过程分为两种情况:一种是已有服务的注册,另一种是新服务类型的注册。是否为新服务的判断依据是解析服务其中是否含有包含该服务的类。xa02.1已有服务的注册:xa02.1.1服务提供者要注册一项服务,首先判断自己是否为友元组长,结果为“否”,(如果“是”,则直接注册在chord上面);xa02.1.2向服务解析器发送请求解析该解析器中是否存在包含该服务的类;xa02.1.3解析器经过解析,发现该服务包含在某个大类中,返回此大类名称信息给此节点;xa02.1.4服务提供者在网络定位层上定位此大类所在位置;xa02.1.5服务提供者加入该友元组,并注册它提供的服务;xa02.1.6服务提供者将自身信息发送给友元组长,以便于友元组长计算友元组内的平均性能,构造调度表。xa02.2新服务的注册:xa02.2.1服务提供者要注册一项服务,首先判断自己是否为友元组长,结果为“否”,(如果“是”,则直接注册在chord上);xa02.2.2服务解析器发送请求解析该解析器中是否存在包含该服务的大类;xa02.2.3解析器经过解析发现没有包含该类,返回“否”;xa02.2.4此节点向服务解析器注册包含此服务的大类;xa02.2.5该节点在成为超级节点,在chord环上注册;xa02.2.6该节点友元组组长,建立友元组,等待其他节点加入。xa0上述服务注册过程为这个专利实施唯一注册方式,属保护范围。xa0步骤三服务查找过程:xa03.1服务请求者向服务解析器提出服务请求,查询他需求的服务是否已经注册;xa03.2服务解析器在自己的本体库中查询是否存在该项服务,是,返回该服务所属的友元组,即包含该服务的大类;xa03.3服务请求者在定位网络中定位该大类的位置,即寻找负责这个类的友元组组长;xa03.4服务请求者在友元组网络中进一步查找他需要的服务。xa0实施例二:xa0本实施例为混和分布式重叠网络的服务注册方法,包括:服务提供者、友元组长、服务解析器,在互联网络中的三个逻辑网络层:以地域为基础的物理xa0网络层、基于泛洪的对等网查询技术以支持模糊查询的友元组网络层、采取基于分布式散列表的对等网络查询技术的定位网络,其服务注册步骤是:xa0物理网络层中的服务提供者以自己提供的服务向定位网络层中的服务解析器请求注册;xa0服务解析器首先询问该请求注册是否为友元组组长,如果“是”则在定位网络层中注册服务,如果“否”则进入下一步;xa0解析服务器对服务进行解析,检测该服务是否存在于定位网络层中,如果“否”则选举该服务为友元组组长加入定位网络层中并在定位网络层中注册服务,如果“是”则进入下一步;xa0在定位网络层中定位服务,找到与该服务相同的友元组组长;xa0进入友元组网络层,加入到友元组组长所在的友元组中。xa0当服务提供者要注册服务时,其先要判断一下,自己是否为友元组长,如果自己是友元组长,那么服务提供者将要直接在定位网络中注册服务。如果服务提供者本身不是友元组长,那么服务提供者根据自己提供的服务,经过服务解析器的解析,解析归类到定位网络可以支持的服务类型,再通过定位网络进行定位,定位到相应的定位网络中的友元组长,也就定位到了相应的友元组,并加入到相应的友元组,和本组内的其他服务提供者共同维护本友元组。如果服务提供者要发布的服务是一种在定位网络中未曾有过的服务,那么它将作为友元组长加入到定位网络,实现一种新的服务的加入。服务发布的流程,如图9所示。xa0实施例三:xa0本实施例为混和分布式重叠网络的查找方法,包括:要求服务和使用服务xa0的服务请求者、服务提供者、友元组长、服务解析器,在互联网络中的三个逻辑网络层:以地域为基础的物理网络层、基于泛洪的对等网查询技术以支持模糊查询的友元组网络层、采取基于分布式散列表的对等网络查询技术的定位网络,其查找步骤是:xa0服务请求者提出服务请求,发送到服务解析器;xa0服务解析器将被请求的服务归类到定位网络层所能识别的服务类型;xa0在定位网络层中根据定位网络查找算法定位到负责此类服务的友元组长,从而定位到了提供此类服务的友元组;xa0友元组内节点采用友元组网络查找算法,查找相应服务;xa0找到了合适的服务提供者;xa0服务提供者和服务请求者之间建立连接,提供服务。xa0服务请求者提出服务请求,发送到服务解析器,服务解析器将服务归类到定位网络所能识别的服务类型。然后,在定位网络中根据定位网络查找算法定位到负责此类服务的友元组长,从而定位到了提供此类服务的友元组。友元组内节点采用友元组网络查找算法查找服务。当查找到合适的服务时,也就是找到了合适的服务提供者之后,服务提供者和服务请求者之间建立连接,提供服务。服务的定位过程,如图10所示。xa0以下用一个具体Web服务的注册与查找,对实施例二、三所述的方法进一步详细说明。xa0在本例中,服务提供者A提供网上英语学习的服务,服务提供者B提供网上网络知识学习的服务,服务提供者C提供网上听力练习的服务,服务提供者D提供网上英语阅读练习的服务,服务请求者E想在网上学习英语。xa0下面叙述服务提供者ABCD提供的四项服务的注册过程与服务请求者E请求xa0服务的查询过程,主要有步骤如下:xa0步骤1、初始化各个实体模块:xa01.2服务解析器初始化:xa01.1.1服务解析器应用本体库知识将服务构成树状结构,在本实例中构成如图9所示的服务树;xa01.1.2将1.1.1中的服务树进行分“带”处理,形成如图8所示的带状服务带。xa01.2定位网络初始化:xa0定位网络用到上面介绍的chord技术。xa01.2.1设置该chord有2
3个虚拟节点,其中有三个节点--0、3、5号节点,为网络中实际存在的节点。xa01.2.2节点0、3、5的finger表构建如下:xa0节点0的finger表xa0
xa0
xa0xa0xa0xa0Startxa0
xa0xa0xa0xa0Int.xa0
xa0xa0xa0xa0Succ.xa0
自身节点标识号+20项xa0
xa0xa0xa0xa01xa0
xa0xa0xa0xa0[1,xa0xa02)xa0
xa0xa0xa0xa03xa0
自身节点标识号+21项xa0
xa0xa0xa0xa02xa0
xa0xa0xa0xa0[2,xa0xa04)xa0
xa0xa0xa0xa03xa0
自身节点标识号+22项xa0
xa0xa0xa0xa04xa0
xa0xa0xa0xa0[4,xa0xa00)xa0
xa0xa0xa0xa05xa0
节点3的finger表xa0
xa0
xa0xa0xa0xa0Startxa0
xa0xa0xa0xa0Int.xa0
xa0xa0xa0xa0Succ.xa0
自身节点标识号+20项xa0
xa0xa0xa0xa04xa0
xa0xa0xa0xa0[4,xa0xa0xa0xa05)xa0
xa0xa0xa0xa05xa0
自身节点标识号+21项xa0
xa0xa0xa0xa05xa0
xa0xa0xa0xa0[5,xa0xa0xa0xa07)xa0
xa0xa0xa0xa05xa0
自身节点标识号+22项xa0
xa0xa0xa0xa07xa0
xa0xa0xa0xa0[7,xa0xa0xa0xa03)xa0
xa0xa0xa0xa00xa0
节点5的finger表xa0
xa0
xa0xa0xa0xa0Startxa0
xa0xa0xa0xa0Int.xa0
xa0xa0xa0xa0Succ.xa0
自身节点标识号+20项xa0
xa0xa0xa0xa06xa0
xa0xa0xa0xa0[6,xa0xa0xa0xa07)xa0
xa0xa0xa0xa00xa0
自身节点标识号+21项xa0
xa0xa0xa0xa07xa0
xa0xa0xa0xa0[7,xa0xa0xa0xa01)xa0
xa0xa0xa0xa00xa0
自身节点标识号+22项xa0
xa0xa0xa0xa01xa0
xa0xa0xa0xa0[1,xa0xa0xa0xa05)xa0
xa0xa0xa0xa03xa0
1.3友元组网络初始化xa01.3.1在友元组建立阶段,第一个提出新服务的节点成为友元组组长。在友元组建立后,友元组长宣布自己的组长状态,等待节点的加入;xa01.3.2组长计算友元组内平均性能(带宽、在线时间等),构造调度表,并将信息发送友元组内的每个节点;xa01.3.3一般节点根据自身提供的服务信息,选择要加入的友元组长,然后将自身信息发送给友元组长,以便于友元组长计算友元组内的平均性能,构造调度表。xa0步骤2、服务注册过程:xa0服务注册过程分为两种情况:一种是已有服务的注册,另一种是新服务类型的注册。是否为新服务的判断依据是解析服务其中是否含有包含该服务的类。xa02.1已有服务的注册,如图11所示:xa02.1.1服务提供者A(节点0)要注册“网上英语学习”服务,首先判断自己是否为友元组长,结果为“否”,(如果“是”,则直接注册);xa02.1.2向服务解析器发送请求解析该解析器中是否存在包含该服务的类;xa02.1.3解析器经过解析,发现该服务包含在“网上学习”类中,返回“网上学习”信息给此节点;xa02.1.4节点0在网络定位层上定位“网上学习”所在位置;xa0详细过程为:xa0该节点hash“网上学习”,得到服务ID=4;由1.2定位网络初始化得到xa0它的信息存储在后继节点5上,所以节点5为“网上学习”友元组组长,维护整个友元组。xa02.1.5节点0加入该友元组,并注册“网上英语学习”服务;xa02.1.6节点0将自身信息发送给友元组长,以便于友元组长计算友元组内的平均性能,构造调度表。xa0其他服务网上网络知识学习、网上听力练习、网上英语阅读练习的注册过程与上述过程相同,这样就完成了服务的注册。xa0步骤3、服务查找过程,如图12所示:xa0服务查找过程,即服务请求者E(节点3)在此网络中查找“网上学习英语”服务。xa03.1服务请求者向服务解析器提出服务请求,查询“网上英语学习”是否已经注册;xa03.2服务解析器在自己的本体库中查询是否存在“网上学习英语”服务,是,返回该服务所属的友元组,即“网上学习”类;xa03.3服务请求者在定位网络中定位“网上学习”位置,即寻找负责“网上学习”的友元组组长;xa0详细过程为:xa0节点3hash“网上学习”,得到服务ID=4,再在自己的finger表中找到ID为4的资源信息存储在节点5上面,与节点5建立连接让其将服务ID为4的信息(IP地址,端口号等)传输给节点3。xa0节点3的finger表xa0
xa0
xa0xa0xa0xa0Startxa0
xa0xa0xa0xa0Int.xa0
xa0xa0xa0xa0Succ.xa0
自身节点标识号+20项xa0
xa0xa0xa0xa04xa0
xa0xa0xa0xa0[4,xa0xa0xa0xa05)xa0
xa0xa0xa0xa05xa0
自身节点标识号+21项xa0
xa0xa0xa0xa05xa0
xa0xa0xa0xa0[5,xa0xa0xa0xa07)xa0
xa0xa0xa0xa05xa0
自身节点标识号+22项xa0
xa0xa0xa0xa07xa0
xa0xa0xa0xa0[7,xa0xa0xa0xa03)xa0
xa0xa0xa0xa00xa0
3.4服务请求者在友元组网络中进一步查找“网上英语学习”;xa0详细过程为:xa0节点3与3.3中找到的友元组组长建立连接,让其在它的友元组中查找“网上英语学习”具体存储的位置,这个过程采取“泛洪”的方式,即友元组组长发布一个Query:网上英语学习给其相邻节点,并设置一TTL=3来限制跳数,相邻节点一方面查询自己是否存在该服务,如存在则按原路返回一个Queryhit给友元组组长;另一方面继续转发Query:网上英语学习给它们的相邻节点,直到TTL=0,停止转发。友元组组长将所有返回的Queryhit汇总起来,传输给服务请求者。服务请求者在返回的信息中找出最适合自己的,与其建立连接,得到预期的服务。xa0